define([
  'vue',
  // 基本信息组件
  ELMP.resource('components/base-info/index.js', 'tmzk_workflow'),
  // 业务对象组件
  ELMP.resource('components/business-object/index.js', 'tmzk_workflow'),
  // 流程注册混入
  ELMP.resource('mixins/workflow/index.js', 'lib'),
], function (
  Vue,
  BaseInfo,
  BusinessObject,
  workflow
){
	function init() {
    new Vue({
      mixins: [workflow],
      el: '#paper-node-layout',
      components: {
        BaseInfo,
        BusinessObject
      },
      data() {
        return {
        	// 工作流Key
          businessKey: 'PROJECT_CHECK',
          // 基本信息默认ref（可不添加）
          baseInfoRef: 'baseInfo',
          // 业务对象默认ref（可不添加）
        	businessObjectRef: 'businessObject',
          // 业务对象表头
          tableHeader: [
            {
              // 字段名称
              prop: 'name',
              // 显示名称
              label: '',
              // name为链接,dict会转换数据字典
              attrName: '',
              // 数据字典
              dict: 'project_type',
            },
          ]
        }
      },
      created(){
        // 专家会签节点
        this.activityId = 'keyldsilsol'
        console.log(this.currentFlow)
        console.log(this.activityIdIndex)
      },
      methods: {
        // 跳转业务对象详情
        toDetail(row){
          
        },
        // 数据提交
        async submit(data) {
          /**
          * todo
          */
        },
        // 获取工作流信息
        getdata(data) {
          let { processBasicInfo, businessForm, businessFormJsonStr } = data
          // 回显基本信息
          this.$refs.baseInfo.setFormData(processBasicInfo, true)
          /*
          *	todo
          */
        },
      },
      computed: {
        // 流程链表
        flowLink() {
          return $.flow.flowMap[this.businessKey]()
        },
        // 当前流程
        currentFlow() {
          return this.flowLink.searchData(this.activityId)
        },
        // 当前节点索引
        activityIdIndex() {
          return this.flowLink.indexOf(this.activityId)
        },
        /**
         * 是否显示维护信息
         * 第一个节点后都可以显示
         */
        showFinance() {
          return this.activityIdIndex > 0
        },
        // 是否可以编辑财务决算报告
        uploadFinanceFile() {
          return this.activityIdIndex === 1
        },
        // 显示评审专家
        showPerson() {
          return [2, 4].includes(this.activityIdIndex)
        }
      },
    })
  }
  return {
    init: init,
  }
})